/* 
 * Aqui definimos los identificadores de mensajes que se pueden intercambiar
 * entre los nodos del cluster.
 */

#ifndef MENSAJES_H
#define	MENSAJES_H

    // Mensajes que puede emitir un worker
    #define ESPERANDO_ORDENES   100 // El worker le indica al master que está esperando ordenes
    #define TRANSFERIR_LISTA    101 // El worker transfiere una lista a otro worker o al master
    #define TRANSFERIR_LISTA_Y_ORDENAR    102 // El worker transfiere una lista a otro worker o al master

    // Mensajes que puede emitir un master
    #define ORDENAR_NUEVA_LISTA 200 // El master le indica a un worker que ordene la lista que se le envía.
    #define ORDENAR_Y_JUNTAR    201 // El master le indica a un worker que ordene la lista que se le envía y que la junte con sus listas restantes.
    #define ENVIAR_LISTA        202 // El master le indica a un worker que debe enviar al lista a otro nodo.
    #define RECIBIR_LISTA       203 // El master le indica a un worker que debe recibir una lista de un nodo.
    #define FINALIZAR           204 // El master le indica a un worker que ya no debe hacer más nada.

    #define TAM_MAX_PAQUETE     1000000 // Máxima cantidad de elementos a enviar por mensaje

#endif	/* MENSAJES_H */


